$(function () {
    $(function () {

        //判断手机号码的视为合适的函数
        function checkeNumber(phoneNumber) {
            //对传入的手机号码尽心校验
            return /^1[3|5|7|8]\d{9}$/.test(phoneNumber);
        }

        //自定义一个属性,对手机号码进行认证
        jQuery.validator.addMethod("checkPgoneNumber", function (value, element, param) {
            return checkeNumber(value);
        }, '手机格式不正确');

        //发送验证码按钮
        $("#sendVerifyCode").click(function () {
            //获取手机号码
            var phoneNumber = $("#phoneNumber").val();
            if (!checkeNumber(phoneNumber)) {//对手机号码进行验证
                $.messager.popup("手机号码格式不正确");
                return;
            }
            //获取当前事件的值
            var thisObj = $(this);
            thisObj.attr("disabled", true);//设置图像和属性的方法,按钮变灰
            //发送ajax请求
            $.ajax({
                url: '/sendVerifyCode',
                dataType: 'json',
                data: {phoneNumber: phoneNumber},//将手机号码发送到后台进行校验
                success: function (data) {
                    $.messager.popup(data.msg);
                    if (data.success) {//当后台正确返回的时候进行倒计时操作
                        var num = 5;
                        //倒计时
                        var time = window.setInterval(function () {
                            num--;
                            if (num > 0) {
                                thisObj.text(num + "秒后重新发送");
                            } else {//当当技师小于-的时候停止计时
                                window.clearInterval(time);//停止指定倒计时
                                thisObj.text("发送验证码");
                                thisObj.attr("disabled", false);//设置按钮样式,点亮状态
                            }
                        }, 1000);
                    } else {//当后台返回的数据是验证不通过的时候
                        thisObj.attr("disabled", false);//设置按钮样式,点亮状态
                    }
                }
            })

        });

        // //用户名文本框
        // $("#phoneNumber").validate({
        //
        //     //键盘事件
        //     onkeyup: function (element) {
        //         $.get("/selectUsername", element, function (data) {
        //             $("#msgs").val(data.msg).addClass("has-error")
        //         })
        //     },
        //     //验证用户名,失去焦点事件
        //     onfocusout: function (element) {
        //         //获取用户名数据信息
        //         var val = $("#phoneNumber").val();
        //         console.log(val);
        //         //f发送ajax请求到后台
        //         $.get("/selectUsername", val, function (data) {
        //             $("#msgs").val(data.msg).addClass("has-error")
        //         })
        //     }
        // });

        //对用户的输入数据进行约束和校验
        $("#registerForm").validate({
            //提交表单
            submitHandler: function (form) {
                $(form).ajaxSubmit({
                    dataType: "json",
                    success: function (data) {
                        if (data.success) {
                            $.messager.confirm("提示", "注册成功,点击确定跳转到登录界面", function () {
                                window.location.href = "/login.html";
                            });
                        } else {
                            $.messager.alert("提示", data.msg);
                        }
                    }
                })
            },

            rules: {
                username: {
                    required: true,
                    checkPgoneNumber:
                        true
                }
                ,

                // verifycode: {
                //     required: true
                // },
                password: {
                    required: true,
                    rangelength:
                        [4, 10]
                }
                ,
                confirmPwd: {
                    required: true,
                    equalTo:
                        "#password"
                }
            }
            ,
            messages: {
                username: {
                    required: '手机号码不能为空',
                    minlength:
                        '请填写正确的手机号码',
                    errorClass:
                        "error",
                    highlight:
                        true
                }
                ,

                verifycode: {
                    required: '验证码不能为空'
                }
                ,
                password: {
                    required: '密码不能为空',
                    rangelength:
                        '密码在{0}~{1}之间'
                }
                ,
                confirmPwd: {
                    required: '确认密码不能为空',
                    equalTo:
                        '两次输入密码不一致'
                }
            }
            ,
            //自定义错误提示的样式,样式从bootstrap找
            errorClass: "text-danger",
            //给为通过的元素添加高亮设置
            highlight:
                function (element, errorClass) {
                    $(element).closest(".form-group").addClass("has-error");
                }
            ,
            unhighlight: function (element, errorClass) {
                $(element).closest(".form-group").removeClass("has-error").addClass("has-success");
            }
        });
     })

})
;